package utils;


public interface MethodInterFace {

/**
    1.仅支持 @Aggregated 和 @Update 类型的sql
    2.返回值仅支持基本类型和 String,且仅有一个返回值
    3.定义后即可直接使用，无需进行具体实现
    4.若不满足上述条件仍可手动配置进行复杂sql操作

 代理接口方法示例：
    1.查询记录行数
    @Aggregated(sql = "select count(id) from staff where type = 4")
    Integer getCourierCount();

    2.检查状态
    @Aggregated(sql = """
             select
             (
                 (select city_id from undertake
                 where record_id = (select id from record where item_name = ?) and type = ?)
                 =
                 (select city_id from staff where name = ?)
             );
            """)
    boolean checkCourier(String itemName,int type,String name);

    3.更新行
    @Update(sql = """
    update ship set state = 0 where id = (select c.ship_id from container
    c where c.id = ?);
    """)
    boolean setShipFreeByContainerId(Integer containerId);
*/



}
